export interface IpLocationResponseType {
  status: string;//值为0或1,0表示失败；1表示成功
  info: string;//返回状态说明  返回状态说明，status 为0时，info 返回错误原因，否则返回“OK”。
  infocode: string;//状态码 参见https://lbs.amap.com/api/webservice/guide/tools/info
  province: string;//省份名称
  city: string;//城市名称
  adcode: string;//城市的 adcode 编码
  rectangle: string;//所在城市矩形区域范围
}

export type GeocodeLevelType = '省' | '市' | '区县';

export interface GeocodeType {
  formatted_address: string;
  country: string;//国家
  province: string;//地址所在的省份名
  citycode: string;//城市编码
  city: string;//地址所在的城市名
  district: string[];//地址所在的区
  township: string[];//坐标点所在乡镇/街道（此街道为社区街道，不是道路信息）
  neighborhood: {//社区信息
    name: string[];//社区名称
    type: string[];//POI 类型
  };
  building: {//楼信息列表
    name: string[];//建筑名称
    type: string[];//类型 例如：科教文化服务;学校;高等院校
  };
  adcode: string; //城市的 adcode 编码
  street: string[];//街道
  number: string[];//门牌
  location: string;//坐标点 经度，纬度
  level: GeocodeLevelType;//匹配级别
}

export interface GeocodeResponseType {
  status: string;//返回状态 值为0或1,0表示失败；1表示成功
  count: string;//返回结果总数目
  info: string;//返回的状态信息
  infocode: string;//返回状态说明,10000代表正确
  geocodes: GeocodeType[];
}

export interface WeatherLiveType {
  province: string; //省份名
  city: string;//城市名
  adcode: string;//区域编码
  weather: string;//天气现象（汉字描述）
  temperature: string;//实时气温，单位：摄氏度
  winddirection: string;//风向描述
  windpower: string;//风力级别，单位：级
  humidity: string;//空气湿度
  reporttime: string;//数据发布的时间
}

export interface WeatherCastType {
  date: string;//日期
  week: string;//星期几
  dayweather: string;//白天天气现象
  nightweather: string;//晚上天气现象
  daytemp: string; //白天温度
  nighttemp: string;//晚上温度
  daywind: string;//白天风向
  nightwind: string;//晚上风向
  daypower: string;//白天风力
  nightpower: string;//晚上风力
}

export interface WeatherForecastType {
  city: string;//城市名称
  adcode: string;//城市编码
  province: string;//省份名称
  reporttime: string;//预报发布时间
  casts: WeatherCastType[];//预报数据 list 结构，元素 cast,按顺序为当天、第二天、第三天、第四天的预报数据
}

export interface WeatherResponseType {
  status: string;//返回状态 值为0或1,0表示失败；1表示成功
  count: string;//返回结果总数目
  info: string;//返回的状态信息
  infocode: string;//返回状态说明,10000代表正确
  lives?: WeatherLiveType[];//实况天气数据信息
  forecasts?: WeatherForecastType[];//预报天气信息数据
}

export interface City {
  adcode: string;
  name: string;
}
